import { createAPI } from '@/api/http';
import { Opts } from '@/api/opts';

/**
 *  @description 添加日志
 *  @name createLog
 *  @param  path 请求路径/路由 {string} 
 *  @param  method 请求方法 {string} 
 *  @param  ipAddr IP地址 {string} 
 *  @param  city 地区 {integer} 
 *  @param  os 操作系统 {boolean} 
 *  @param  userAgent 用户信息 {string} 
 *  @param  params 请求参数 {string} 
 *  @param  data 数据 {string} 
 *  @param  groupName 接口组 {string} 
 *  @param  name 接口名 {string} 
 *  @param  duration 耗时 {integer} 
 *  @param  respStatusCode 请求状态 {integer} 
 *  @param  status 状态 {string} 
 *  @param  memo 备注 {string} 

 *  @example 示例1
 *   onMounted(async () => {
 *     const { data } = await createUser({ data: { id: '1' } });
 *   });
 *  @example 示例2
 *  createUser({ data: { id: '1' } }).then(res => {});
 *  @example 示例3
 *  const { data } = await deleteUser({ params: { id: '1' } })
 */
export const createLog = (opts: Opts) =>
  createAPI({
    method: 'post',
    url: '/wit/log/createLog',
    opts,
  });

/**
 *  @description 获取日志
 *  @name getLogList
 *  @param  pageNum 页码 {integer} 
 *  @param  pageSize 每页数 {integer} 
 *  @param  userName 用户名 {string} 
 *  @param  path 请求路径/路由 {string} 
 *  @param  method 请求方法 {string} 
 *  @param  ipAddr IP地址 {string} 
 *  @param  city 地区 {string} 
 *  @param  os 操作系统 {string} 
 *  @param  groupName 接口组 {string} 
 *  @param  name 接口名 {string} 
 *  @param  status 状态-1 INFO2 WARN3 ERROR {integer} 

 *  @example 示例1
 *   onMounted(async () => {
 *     const { data } = await createUser({ data: { id: '1' } });
 *   });
 *  @example 示例2
 *  createUser({ data: { id: '1' } }).then(res => {});
 *  @example 示例3
 *  const { data } = await deleteUser({ params: { id: '1' } })
 */
export const getLogList = (opts: Opts) =>
  createAPI({
    method: 'get',
    url: '/wit/log/getLogList',
    opts,
  });
